Bài học Scratch cho học sinh THCS

Di chuyển, xoay và điều khiển nhân vật bằng phím trong Scratch

Học cách làm nhân vật di chuyển linh hoạt, xoay hướng và phản hồi khi người chơi nhấn phím — nền tảng của mọi game điều khiển.

Tại sao cần điều khiển bằng phím?

Hầu hết game trên Scratch đều cần người chơi tương tác trực tiếp — nhấn phím để nhảy, chạy, bắn hoặc chọn hướng. Khác với chương trình tự chạy khi nhấn cờ xanh, game điều khiển phải lắng nghe phím bấm liên tục và phản hồi ngay lập tức.

Bài học này giúp bạn nắm các khối lệnh Di chuyểnCảm biến để tạo nhân vật di chuyển mượt mà, xoay đúng hướng và phản ứng với bàn phím.

Game platformer trên Scratch
Game platformer — thể loại phổ biến dùng điều khiển phím

Các khối di chuyển cơ bản

Nhóm khối Di chuyển (màu xanh dương) điều khiển vị trí và hướng của nhân vật trên sân khấu.

tiến (10) bước — di chuyển theo hướng hiện tại
lùi (10) bước — đi ngược hướng
xoay (15) độ — xoay theo chiều kim đồng hồ
xoay ngược (15) độ — xoay ngược chiều kim đồng hồ
quay về hướng (90) — đặt hướng cố định (0=trên, 90=phải)
đến vị trí x: (0) y: (0) — nhảy thẳng đến tọa độ
trượt (1) giây đến vị trí x: (0) y: (0) — di chuyển mượt trong 1 giây

Hướng trong Scratch

Scratch dùng góc để chỉ hướng nhân vật "nhìn" về đâu:

💡 Ghi nhớ

Khối "tiến bước" luôn di chuyển theo hướng nhân vật đang quay, không phải theo trục x hay y. Muốn đi lên/xuống/trái/phải, hãy xoay hướng trước hoặc dùng tọa độ.

Xoay nhân vật

Có hai cách xoay nhân vật phổ biến trong Scratch:

Xoay từng bước Dùng "xoay 15 độ" trong vòng lặp — tạo hiệu ứng quay tròn, xoay cánh quạt.
Đặt hướng cố định Dùng "quay về hướng 90" — nhân vật quay ngay về hướng chỉ định, phù hợp game điều khiển.

Chế độ xoay (Rotation Style)

Nhấp vào tên nhân vật → chọn chế độ xoay:

📌 Ví dụ — Nhân vật quay tròn

🟡 khi nhấn cờ xanh

  🟠 lặp vô hạn

    🔵 xoay (5) độ

Nhân vật quay liên tục 5° mỗi khung hình — tạo hiệu ứng xoay mượt.

Phát hiện phím bấm

Nhóm khối Cảm biến (xanh nhạt) giúp chương trình "nghe" bàn phím. Khối quan trọng nhất:

phím [mũi tên lên ▼] được nhấn? → trả về đúng hoặc sai

Các phím thường dùng:

Space a–z 0–9

Kết hợp với khối "nếu … thì" (Điều khiển), bạn tạo phản hồi: nhấn phím → nhân vật di chuyển.

💡 Ghi nhớ

Khối "phím được nhấn?" chỉ kiểm tra đúng lúc đó phím có đang được giữ hay không. Đặt nó trong vòng lặp vô hạn để liên tục kiểm tra phím.

Điều khiển bằng phím mũi tên — Cách 1

Cách đơn giản nhất: mỗi phím một khối "khi phím được nhấn" (nhóm Sự kiện).

khi phím [mũi tên lên] được nhấn
  đổi y đi (10)

khi phím [mũi tên xuống] được nhấn
  đổi y đi (−10)

khi phím [mũi tên phải] được nhấn
  đổi x đi (10)

khi phím [mũi tên trái] được nhấn
  đổi x đi (−10)

Dùng "đổi x/y đi" di chuyển theo trục ngang/dọc mà không cần xoay hướng. Phù hợp game nhìn từ trên xuống hoặc điều khiển đơn giản.

📌 Ưu & nhược điểm

Ưu: dễ hiểu, dễ làm, phù hợp người mới.

Nhược: mỗi lần nhấn chỉ di chuyển một bước — giữ phím không di chuyển liên tục (trừ khi bật "key repeat" của hệ thống).

Điều khiển mượt — Cách 2 (vòng lặp)

Để nhân vật di chuyển liên tục khi giữ phím, dùng vòng lặp vô hạn kết hợp kiểm tra phím:

khi nhấn cờ xanh
lặp vô hạn
  nếu phím [mũi tên lên] được nhấn? thì
    đổi y đi (5)
  nếu phím [mũi tên xuống] được nhấn? thì
    đổi y đi (−5)
  nếu phím [mũi tên phải] được nhấn? thì
    đổi x đi (5)
  nếu phím [mũi tên trái] được nhấn? thì
    đổi x đi (−5)

Tăng số bước (5 → 10) để nhân vật chạy nhanh hơn. Giảm số bước để di chuyển chậm, chính xác hơn.

💡 Mẹo tốc độ

Tạo biến tốc_độ và dùng "đổi y đi (tốc_độ)" thay vì số cố định. Khi ăn đồ tăng tốc, chỉ cần "thay đổi tốc_độ đi (2)".

Điều khiển theo hướng nhân vật

Trong game xe hơi, tàu vũ trụ hay game "rắn săn mồi", nhân vật di chuyển theo hướng đang quay:

khi nhấn cờ xanh
lặp vô hạn
  nếu phím [mũi tên lên] được nhấn? thì
    tiến (4) bước
  nếu phím [mũi tên trái] được nhấn? thì
    xoay ngược (5) độ
  nếu phím [mũi tên phải] được nhấn? thì
    xoay (5) độ

Phím lên = tiến, trái/phải = xoay — giống điều khiển xe hoặc máy bay mini.

📌 Ví dụ — Game "Bắn sao băng"

Tàu vũ trụ ở giữa màn hình. Mũi tên trái/phải xoay tàu. Phím Space bắn đạn theo hướng tàu đang quay (dùng bản sao nhân vật đạn + khối tiến bước).

Giới hạn biên và va chạm

Khi nhân vật di chuyển tự do, cần xử lý biên sân khấu để không "bay" ra ngoài màn hình.

nếu chạm cạnh? thì
  bật lại

Khối "bật lại" (bounce) khiến nhân vật phản xạ như quả bóng đụng tường. Hoặc dùng "đến vị trí" để kéo nhân vật về vùng an toàn.

Giao diện Scratch
Sân khấu Scratch có biên cố định — nhân vật cần xử lý khi chạm mép

Dự án thực hành: Điều khiển nhân vật 4 hướng

Hãy hoàn thành dự án mini theo các bước sau:

  1. Chọn nhân vật từ thư viện (xe, người, động vật…).
  2. Thêm phông nền phù hợp (đường phố, cỏ xanh, mê cung…).
  3. Viết code vòng lặp kiểm tra 4 phím mũi tên (Cách 2 ở trên).
  4. Thêm "nếu chạm cạnh thì bật lại" trong vòng lặp.
  5. Tạo biến điểm, thêm vật phẩm — chạm vật phẩm thì +10 điểm.
  6. Nhấn cờ xanh và thử chơi!
📌 Mở rộng thử thách
  • Thêm phím Space để nhân vật nhảy (đổi y tạm rồi rơi xuống).
  • Thêm chướng ngại vật di chuyển — tránh va chạm.
  • Đếm thời gian — hoàn thành trong 30 giây.

Lỗi thường gặp và cách khắc phục

💡 Lời kết

Điều khiển nhân vật bằng phím là kỹ năng cốt lõi để làm game trên Scratch. Hãy thử nhiều cách — đổi x/y, tiến bước, xoay hướng — rồi chọn phong cách phù hợp dự án của bạn. Luyện tập thường xuyên, bạn sẽ tạo được game mượt mà và thú vị!